* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: linear-gradient(30deg, #182c51, #09101e);
  overflow: hidden;
}

.moon {
  width: 256px;
  height: 256px;
  border-radius: 50%;
  position: relative;
  background-image: linear-gradient(30deg, #13223f, #0e1a30);
}

.moon::before {
  content: "";
  background-color: #c7938b;
  position: absolute;
  height: 100%;
  width: 100%;
  border-radius: 50%;
  z-index: -1;
  animation: 3.2s cresent linear infinite alternate;
}

@keyframes cresent {
  0% {
    transform: translate(-30px, 30px) scale(0.9);
    box-shadow: none;
  }
  50% {
    transform: translate(0px, 0px) scale(1.02);
    box-shadow: 0 0 10px #f9f3f2, 0 0 80px 8px #c7938b;
    background-color: #efdbd8;
  }
  100% {
    transform: translate(30px, -30px) scale(0.9);
    box-shadow: none;
  }
}
